#pragma once

#include<stdio.h>
#include<string.h>
#include<malloc.h>
#include<assert.h>

// 增强程序的可维护性
typedef int SQDataType;

typedef struct SeqList
{
	SQDataType *a;
	int size;   // 有效数据的个数
	int capacity;   // 容量
}SL;
//typedef struct SeqList SL;

//增删查改等接口函数
void SeqListInit(SL* ps);// 顺序表初始化
void SeqListCheckCapacity(SL* ps);// 检查顺序表容量
void SeqListPushBack(SL* ps, SQDataType x);// 尾插
void SeqListPushFront(SL* ps, SQDataType x);// 头插
void SeqListPopBack(SL* ps);// 尾删
void SeqListPopFront(SL* ps);// 头删
void SeqListPrint(SL* ps);// 打印
void SeqListInsert(SL* ps, int pos, SQDataType x);// 在顺序表的随机位置插入元素
void SeqListErase(SL* ps, int pos);// 在顺序表的随机位置删除元素
int SeqListFind(SL* ps, SQDataType x);// 查找顺序表中是否某个元素并返回其下标
void SeqListModity(SL* ps, int pos, SQDataType x);// 修改顺序表中某下标中的元素
void SeqListDestory(SL* ps);// 销毁顺序表